A large volume of matrix computation processing can be required in radio communication signal processing, etc. For example, in the long term evolution (LTE)-Advanced as a system of the radio communication signal processing, the matrix computation accounts for much of the overall computation volume. For handling such array-type data that require a large volume of matrix computation processing, an array processing architecture is suitable.
Conventionally, processors that handle array-type data include, for example, single instruction multiple data (SIMD)-system processors and vector-system processors. The array-type data handled by an instruction set of such processors is an array of scalar values and unit data is the scalar value. In an embedded processor, the circuit scale is made smaller by the instruction set handling only integer values.
Related conventional technologies, include, for example, a technology of using only integer arithmetic calculators without using floating-point arithmetic calculators as an arithmetic device and performing a floating decimal point shift calculation. Further, for example, another technology generates floating-point number computation (FP) results obtained by performing calculations with respect to the scalar component of vector input that has been dispatched by a scheduler, by plural FP pipelines, and writes the results to an output buffer. Further, a maximum exponent detecting apparatus detects the maximum exponent of floating decimal point value counts retained in a floating decimal point value register; significand shifting apparatuses shift the significand by a difference of the maximum exponent and each exponent; coding apparatuses perform encoding and perform conversions into integers that retain the relative magnitude of the values. For examples, refer to Japanese Laid-Open Patent Publication Nos. 2005-31848 and H08-101919, and Published Japanese-Translation of PCT Application, Publication No. 2009-505301.
Conventional technologies, however, in the case of instruction sets handling only integer values, have a problem in that, while the circuit area of the processor can be reduced, calculation accuracy may drop. For example, in the case of instruction sets handling only integer values, a multiplication computation, etc. can increase the number of bits required to express each computation result and can bring about a shortage of dynamic range, depending on the application.